home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / RCS / fsCmd.h,v < prev    next >
Encoding:
Text File  |  1992-08-07  |  10.9 KB  |  463 lines

  1. head     1.15;
  2. branch   ;
  3. access   ;
  4. symbols  sprited:1.10.1;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.15
  10. date     92.08.07.14.49.55;  author shirriff;  state Exp;
  11. branches ;
  12. next     1.14;
  13.  
  14. 1.14
  15. date     92.02.16.17.20.57;  author mgbaker;  state Exp;
  16. branches ;
  17. next     1.13;
  18.  
  19. 1.13
  20. date     92.02.15.20.16.19;  author mgbaker;  state Exp;
  21. branches ;
  22. next     1.12;
  23.  
  24. 1.12
  25. date     91.09.10.12.25.23;  author mgbaker;  state Exp;
  26. branches ;
  27. next     1.11;
  28.  
  29. 1.11
  30. date     91.08.22.13.05.21;  author mendel;  state Exp;
  31. branches ;
  32. next     1.10;
  33.  
  34. 1.10
  35. date     91.05.30.13.22.18;  author shirriff;  state Exp;
  36. branches 1.10.1.1;
  37. next     1.9;
  38.  
  39. 1.9
  40. date     91.05.23.17.14.46;  author mendel;  state Exp;
  41. branches ;
  42. next     1.8;
  43.  
  44. 1.8
  45. date     91.02.01.16.30.29;  author mendel;  state Exp;
  46. branches ;
  47. next     1.7;
  48.  
  49. 1.7
  50. date     90.10.19.15.55.55;  author mendel;  state Exp;
  51. branches ;
  52. next     1.6;
  53.  
  54. 1.6
  55. date     89.06.23.11.27.56;  author rab;  state Exp;
  56. branches ;
  57. next     1.5;
  58.  
  59. 1.5
  60. date     89.06.08.15.35.54;  author jhh;  state Exp;
  61. branches ;
  62. next     1.4;
  63.  
  64. 1.4
  65. date     89.06.07.12.43.05;  author jhh;  state Exp;
  66. branches ;
  67. next     1.3;
  68.  
  69. 1.3
  70. date     89.01.30.12.39.43;  author brent;  state Exp;
  71. branches ;
  72. next     1.2;
  73.  
  74. 1.2
  75. date     88.10.04.09.47.47;  author douglis;  state Exp;
  76. branches ;
  77. next     1.1;
  78.  
  79. 1.1
  80. date     88.08.07.12.56.41;  author ouster;  state Exp;
  81. branches ;
  82. next     ;
  83.  
  84. 1.10.1.1
  85. date     91.11.17.18.53.09;  author kupfer;  state Exp;
  86. branches ;
  87. next     ;
  88.  
  89.  
  90. desc
  91. @@
  92.  
  93.  
  94. 1.15
  95. log
  96. @Added FS_GENERIC_COMMAND for temporary FS hooks.
  97. @
  98. text
  99. @/*
  100.  * fsCmd.h --
  101.  *
  102.  *    Definitions used by fs command, a general hook into the filesystem.
  103.  *
  104.  * Copyright 1985 Regents of the University of California
  105.  * All rights reserved.
  106.  *
  107.  *
  108.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.14 92/02/16 17:20:57 mgbaker Exp Locker: shirriff $ SPRITE (Berkeley)
  109.  */
  110.  
  111. #ifndef _FSCMD
  112. #define _FSCMD
  113.  
  114.  
  115. /*
  116.  * Flags to the Fs_Command system call.
  117.  *    This is invoked via
  118.  *        status = Fs_Command(command, bufSize, buffer);
  119.  *    
  120.  *    FS_PREFIX_LOAD        Load a prefix into the prefix table.  The
  121.  *                serverID is used to find the server of
  122.  *                the prefix. A serverID of FS_NO_SERVER
  123.  *                will cause a broadcast to find the server
  124.  *                when the first file under that prefix is opened.
  125.  *                (This is mainly needed because Unix servers
  126.  *                don't have Remote Links.)
  127.  *    FS_PREFIX_EXPORT    Export a prefix.  The buffer argument to
  128.  *                Fs_Command is a Fs_TwoPaths struct of which
  129.  *                the first path indicates the local directory
  130.  *                to be exported and the second is its global
  131.  *                prefix.  For dot-dot out the top to be caught
  132.  *                the local file should be the root of a domain.
  133.  *                (This restriction could be fixed.)
  134.  *    FS_PREFIX_CLEAR        Clear the server information about a prefix.
  135.  *                A broadcast will occur the next time the
  136.  *                prefix is used to find the server.
  137.  *    FS_PREFIX_DELETE    Delete a prefix from the table.  Not even
  138.  *                the prefix itself remains.
  139.  *    FS_PREFIX_CONTROL    Control which clients a prefix is exported to
  140.  *    FS_RAISE_MIN_CACHE_SIZE    Set the minimum number of pages in the cache.
  141.  *    FS_LOWER_MAX_CACHE_SIZE    Set the maximum number of pages in the cache.
  142.  *    FS_DISABLE_FLUSH    Disbable automatic flushing of the cache.
  143.  *    FS_SET_TRACING        Set file system tracing flag.
  144.  *    FS_SET_CACHE_DEBUG    Set cache debugging flag.
  145.  *    FS_SET_RPC_DEBUG    Set rpc debugging flag.
  146.  *    FS_SET_RPC_TRACING    Set rpc tracing flag.
  147.  *    FS_SET_RPC_NO_TIMEOUTS    Set rpc_NoTimeouts flag.
  148.  *    FS_SET_NAME_CACHING    Set name caching flag.
  149.  *    FS_SET_CLIENT_CACHING    Set client caching flag.
  150.  *    FS_SET_RPC_CLIENT_HIST    Set client call histgram flag
  151.  *    FS_SET_RPC_SERVER_HIST    Set service-time histogram flag
  152.  *    FS_EMPTY_CACHE        Reset the filesystem cache by writing it
  153.  *                out and invalidating all unlock blocks.
  154.  *    FS_RETURN_STATS        Copy out the filesystem statistics
  155.  *    FS_RETURN_LIFE_TIMES    Copy out the file life time statistics
  156.  *    FS_SET_NO_STICKY_SEGS    Set the no sticky segments flag.
  157.  *    FS_SET_CLEANER_PROCS    Set the maximum number of block cleaner
  158.  *                processes.
  159.  *    FS_SET_READ_AHEAD    Set number of blocks of read ahead.
  160.  *    FS_SET_RA_TRACING    Set read ahead tracing flag.
  161.  *    FS_SET_WRITE_THROUGH    Set the flag that forces write-through.
  162.  *    FS_SET_WRITE_BACK_ON_CLOSE    Set the flag that forces write-back-
  163.  *                    on-close.
  164.  *    FS_SET_DELAY_TMP_FILES    Set the flag that uses a fully delayed write
  165.  *                policy on tmp files. 
  166.  *    FS_SET_TMP_DIR_NUM    Set the directory which contains temporary
  167.  *                files.
  168.  *    FS_SET_WRITE_BACK_INTERVAL    Set the number of seconds to delay
  169.  *                    before writing back the cache.
  170.  *    FS_SET_WRITE_BACK_ASAP        Set the flag to force write-back
  171.  *                    as soon as possible.
  172.  *    FS_SET_WB_ON_LAST_DIRTY_BLOCK    Set the flag to force write-back
  173.  *                    as last dirty block from client.
  174.  *    FS_SET_BLOCK_SKEW        Set number of blocks to put between
  175.  *                    consecutive allocations on disk.
  176.  *    FS_SET_LARGE_FILE_MODE        Set flag that limits the number of
  177.  *                    blocks for large files.
  178.  *    FS_SET_MAX_FILE_PORTION        Set value to divide the maximum
  179.  *                    number of blocks by to determine the
  180.  *                    maximum file size.
  181.  *    FS_SET_DELETE_HISTOGRAMS    Set the flag to keep delete size/age
  182.  *                    information.
  183.  *    FS_ZERO_STATS        Set all file system counts to 0.
  184.  *    FS_SET_MIG_DEBUG    Set process-migration file debugging flag.
  185.  *    FS_REREAD_SUMMARY_INFO    Update the in-memory copy of the domain summary
  186.  *                information.
  187.  *    FS_FIRST_LFS_COMMAND    Value range for LFS specific commands.
  188.  *    FS_LAST_LFS_COMMAND
  189.  *    FS_DO_L1_COMMAND    Simulate L1-foo.
  190.  *    FS_GENERIC_COMMAND    A command for temporary kernel hooks.
  191.  */
  192. #define FS_PREFIX_LOAD            1
  193. #define FS_PREFIX_EXPORT        2
  194. #define FS_PREFIX_CLEAR            3
  195. #define FS_PREFIX_DELETE        4
  196. #define FS_PREFIX_CONTROL        5
  197. #define FS_RAISE_MIN_CACHE_SIZE        6
  198. #define FS_LOWER_MAX_CACHE_SIZE        7
  199. #define FS_DISABLE_FLUSH        8
  200. #define    FS_SET_TRACING            9
  201. #define    FS_SET_CACHE_DEBUG        10
  202. #define    FS_SET_RPC_DEBUG        11
  203. #define    FS_SET_RPC_TRACING        12
  204. #define    FS_SET_NAME_CACHING        13
  205. #define    FS_SET_CLIENT_CACHING        14
  206. #define    FS_TEST_CS            15
  207. #define    FS_SET_RPC_CLIENT_HIST        16
  208. #define    FS_SET_RPC_SERVER_HIST        17
  209. #define    FS_EMPTY_CACHE            18
  210. #define FS_RETURN_STATS            19
  211. #define    FS_GET_FRAG_INFO        21
  212. #define FS_SET_NO_STICKY_SEGS        22
  213. #define    FS_SET_CLEANER_PROCS        23
  214. #define    FS_SET_READ_AHEAD        24
  215. #define    FS_SET_RA_TRACING        25
  216. #define FS_SET_RPC_NO_TIMEOUTS        26
  217. #define    FS_SET_WRITE_THROUGH        27
  218. #define    FS_SET_WRITE_BACK_ON_CLOSE    28
  219. #define    FS_SET_DELAY_TMP_FILES        29
  220. #define    FS_SET_TMP_DIR_NUM        30
  221. #define    FS_SET_WRITE_BACK_INTERVAL    31
  222. #define    FS_SET_WRITE_BACK_ASAP        32
  223. #define FS_SET_WB_ON_LAST_DIRTY_BLOCK    33
  224. #define    FS_SET_BLOCK_SKEW        34
  225. #define    FS_SET_LARGE_FILE_MODE        35
  226. #define    FS_SET_MAX_FILE_PORTION        36
  227. #define    FS_SET_DELETE_HISTOGRAMS    37
  228. #define    FS_ZERO_STATS            38
  229. #define    FS_SET_MIG_DEBUG        40
  230. #define FS_RETURN_LIFE_TIMES        41
  231. #define FS_REREAD_SUMMARY_INFO        42
  232. #define FS_DO_L1_COMMAND        43
  233. #define FS_GENERIC_COMMAND        44
  234. #define FS_FIRST_LFS_COMMAND           100
  235. #define    FS_CLEAN_LFS_COMMAND           101
  236. #define    FS_SET_CONTROL_FLAGS_LFS_COMMAND 102
  237. #define FS_GET_CONTROL_FLAGS_LFS_COMMAND 103
  238. #define FS_FREE_FILE_NUMBER_LFS_COMMAND 104
  239. #define    FS_ADJUST_SEG_USAGE_LFS_COMMAND    105
  240. #define    FS_ZERO_ASPLOS_STATS_LFS_COMMAND    106    /* For ASPLOS paper.
  241.                              * Remove when that's
  242.                              * done.  -Mary 2/15/92.
  243.                              */
  244. #define    FS_TOGGLE_ASPLOS_STATS_LFS_COMMAND    107    /* For ASPLOS paper. */
  245. #define    FS_LAST_LFS_COMMAND           199
  246.  
  247. /*
  248.  * Structure used with the FS_PREFIX_CONTROL command.  A particular client
  249.  * can be added or deleted from the export list of the prefix.  The delete
  250.  * argument should be FALSE to add, TRUE to delete.  Remember that an
  251.  * empty export list allows all clients access.
  252.  */
  253. typedef struct Fs_PrefixControl {
  254.     int clientID;        /* SpriteID of client to add/delete */
  255.     Boolean delete;        /* TRUE means delete, FALSE means add */
  256.     char prefix[FS_MAX_PATH_NAME_LENGTH];    /* The prefix to control */
  257. } Fs_PrefixControl;
  258.  
  259. /* Structure used with the FS_PREFIX_LOAD command. The prefix should be
  260.  * loaded with the given serverID. 
  261.  */
  262. typedef struct Fs_PrefixLoadInfo {
  263.     char prefix[FS_MAX_PATH_NAME_LENGTH];    /* Prefix to load. */
  264.     int  serverID;                /* Server of prefix. */
  265. } Fs_PrefixLoadInfo;
  266.  
  267. #endif /* _FSUSER */
  268. @
  269.  
  270.  
  271. 1.14
  272. log
  273. @Another lfs asplos stat command.
  274. @
  275. text
  276. @d10 1
  277. a10 1
  278.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.13 92/02/15 20:16:19 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  279. d92 1
  280. d135 1
  281. @
  282.  
  283.  
  284. 1.13
  285. log
  286. @New temporary lfs command.
  287. @
  288. text
  289. @d10 1
  290. a10 1
  291.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.12 91/09/10 12:25:23 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  292. d144 1
  293. @
  294.  
  295.  
  296. 1.12
  297. log
  298. @Removed pdev debug.
  299. @
  300. text
  301. @d10 1
  302. a10 1
  303.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.11 91/08/22 13:05:21 mendel Exp Locker: mgbaker $ SPRITE (Berkeley)
  304. d140 4
  305. @
  306.  
  307.  
  308. 1.11
  309. log
  310. @Added FS_ADJUST_SEG_USAGE_LFS_COMMAND command.
  311. @
  312. text
  313. @d10 1
  314. a10 1
  315.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.10 91/05/30 13:22:18 shirriff Exp Locker: mendel $ SPRITE (Berkeley)
  316. a85 1
  317.  *    FS_SET_PDEV_DEBUG    Set pseudo-device debugging flag.
  318. a129 1
  319. #define    FS_SET_PDEV_DEBUG        39
  320. @
  321.  
  322.  
  323. 1.10
  324. log
  325. @Added L1_COMMAND function.
  326. @
  327. text
  328. @d10 1
  329. a10 1
  330.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.9 91/05/23 17:14:46 mendel Exp Locker: shirriff $ SPRITE (Berkeley)
  331. d141 1
  332. @
  333.  
  334.  
  335. 1.10.1.1
  336. log
  337. @Initial branch for Sprite server.
  338. @
  339. text
  340. @d10 1
  341. a10 1
  342.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.10 91/05/30 13:22:18 shirriff Exp $ SPRITE (Berkeley)
  343. @
  344.  
  345.  
  346. 1.9
  347. log
  348. @Added FS_FREE_FILE_NUMBER_LFS_COMMAND
  349. (checked in by shirriff)
  350. @
  351. text
  352. @d10 1
  353. a10 1
  354.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.8 91/02/01 16:30:29 mendel Exp Locker: mendel $ SPRITE (Berkeley)
  355. d92 1
  356. d135 1
  357. @
  358.  
  359.  
  360. 1.8
  361. log
  362. @Added LFS commands.
  363. @
  364. text
  365. @d10 1
  366. a10 1
  367.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.7 90/10/19 15:55:55 mendel Exp $ SPRITE (Berkeley)
  368. d138 1
  369. @
  370.  
  371.  
  372. 1.7
  373. log
  374. @Added LFS_COMMAND commands.
  375. @
  376. text
  377. @d10 1
  378. a10 1
  379.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.6 89/06/23 11:27:56 rab Exp Locker: mendel $ SPRITE (Berkeley)
  380. d135 3
  381. @
  382.  
  383.  
  384. 1.6
  385. log
  386. @*** empty log message ***
  387. @
  388. text
  389. @d10 1
  390. a10 1
  391.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.5 89/06/08 15:35:54 jhh Exp Locker: rab $ SPRITE (Berkeley)
  392. d90 2
  393. d134 2
  394. @
  395.  
  396.  
  397. 1.5
  398. log
  399. @new interface for FS_PREFIX_LOAD
  400. @
  401. text
  402. @d10 1
  403. a10 1
  404.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.4 89/06/07 12:43:05 jhh Exp Locker: jhh $ SPRITE (Berkeley)
  405. d153 1
  406. a153 1
  407. #endif _FSUSER
  408. @
  409.  
  410.  
  411. 1.4
  412. log
  413. @reread summary sector
  414. @
  415. text
  416. @d10 1
  417. a10 1
  418.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.3 89/01/30 12:39:43 brent Exp Locker: jhh $ SPRITE (Berkeley)
  419. d22 3
  420. a24 1
  421.  *    FS_PREFIX_LOAD        Load a prefix into the prefix table.  This
  422. d144 8
  423. @
  424.  
  425.  
  426. 1.3
  427. log
  428. @Added FS_RETURN_LIFE_TIMES
  429. @
  430. text
  431. @d10 1
  432. a10 1
  433.  * $Header: /sprite/src/lib/include/RCS/fsCmd.h,v 1.2 88/10/04 09:47:47 douglis Exp Locker: brent $ SPRITE (Berkeley)
  434. d86 2
  435. d129 1
  436. @
  437.  
  438.  
  439. 1.2
  440. log
  441. @added FS_SET_PDEV_DEBUG and FS_SET_MIG_DEBUG flags.
  442. @
  443. text
  444. @d10 1
  445. a10 1
  446.  * $Header: fsCmd.h,v 1.1 88/08/07 12:56:41 ouster Exp $ SPRITE (Berkeley)
  447. d55 1
  448. d126 1
  449. @
  450.  
  451.  
  452. 1.1
  453. log
  454. @Initial revision
  455. @
  456. text
  457. @d10 1
  458. a10 1
  459.  * $Header: fsCmd.h,v 2.9 88/03/20 17:01:38 douglis Exp $ SPRITE (Berkeley)
  460. d83 2
  461. d123 2
  462. @
  463.